#!/usr/bin/env python3
"""
配置文件 - 管理API密钥和服务端点
"""

import os
from typing import Optional

class Config:
    """配置类"""
    
    # Bing Search API配置
    BING_SEARCH_API_KEY: Optional[str] = os.getenv("BING_SEARCH_API_KEY")
    BING_SEARCH_ENDPOINT: str = "https://api.bing.microsoft.com/v7.0/search"
    
    # RPC服务配置
    RPC_ENDPOINT: str = os.getenv("RPC_ENDPOINT", "rpc://localhost:8080")
    
    # HTTP API配置
    HTTP_API_BASE_URL: str = os.getenv("HTTP_API_BASE_URL", "http://localhost:8081")
    
    # 服务器配置
    SERVER_HOST: str = os.getenv("SERVER_HOST", "0.0.0.0")
    SERVER_PORT: int = int(os.getenv("SERVER_PORT", "8000"))
    
    # 日志配置
    LOG_LEVEL: str = os.getenv("LOG_LEVEL", "INFO")
    
    # 模拟模式（用于开发和测试）
    MOCK_MODE: bool = os.getenv("MOCK_MODE", "true").lower() == "true"
    
    @classmethod
    def validate(cls) -> bool:
        """验证配置"""
        if not cls.MOCK_MODE and not cls.BING_SEARCH_API_KEY:
            print("警告: 未设置BING_SEARCH_API_KEY环境变量，将使用模拟模式")
            cls.MOCK_MODE = True
        return True

# 验证配置
Config.validate()